home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 3 / Amiga Tools 3.iso / rexx / logfunctions.avm < prev    next >
Text File  |  1994-06-24  |  5KB  |  197 lines

  1. exit
  2.  
  3. mailboxDir: procedure
  4.     parse arg mailbox
  5.  
  6.     return 'avm:' || mailbox || '/'
  7.  
  8. logFile: procedure
  9.     parse arg mailbox, magiccookie
  10.  
  11.     return 'avm:' || mailbox || '/logs/' || magiccookie
  12.  
  13. voiceFile: procedure
  14.     parse arg mailbox, magiccookie
  15.  
  16.         if (verify(magiccookie, '/:', 'M') = 0) then
  17.           return 'avm:' || mailbox || '/voices/' || magiccookie
  18.         else
  19.           return magiccookie
  20.  
  21. makeUniqueFile: procedure
  22.     if arg() ~= 0 then do
  23.         rc = "makeUniqueFile: bad args"
  24.         signal error
  25.     end
  26.     return address() || '.' || date('i') || '.' || time('s') || '.' || random(1, 999, time('s'))
  27.  
  28. convertToDate: procedure
  29.     if arg() ~= 1 then do
  30.         rc = "convertToDate: bad args"
  31.         signal error
  32.     end
  33.     parse arg timeInC
  34.  
  35.     actualTime = (timeInC - (2922)*86400) // (86400)
  36.     actualDate = (timeInC - actualTime - 2922*86400) % 86400
  37.  
  38.     return actualDate /* returning it in 'internal' format */
  39.  
  40. convertToTime: procedure
  41.     if arg() ~= 1 then do
  42.         rc = "convertToTime: bad args"
  43.         signal error
  44.     end
  45.     parse arg timeInC
  46.     
  47.     actualTime = (timeInC - (2922)*86400) // (86400)
  48.  
  49.     return actualTime
  50.  
  51. cTime: procedure
  52.     /* 2922 = 8*365 + 2 */
  53.     /* 86400 = 24*60*60 */
  54.     return (date('i')+2922)*86400 + time('s')
  55.  
  56. /* this returns a handle that you must use after initializing log. */
  57. initLogEntry: procedure expose log.
  58.     if arg() ~= 0 then do
  59.         rc = "initLogEntry: bad args"
  60.         signal error
  61.     end
  62.     
  63.     drop log.
  64.         log. = ''
  65.  
  66.         acidname = getclip(address() || 'CIDNAME')
  67.         acidnumber = getclip(address() || 'CIDNUMBER')
  68.  
  69.     /* 2922 = 8*365 + 2 */
  70.     /* 86400 = 24*60*60 */
  71.     log.time = (date('i')+2922)*86400 + time('s')
  72.     log.cidname = acidname
  73.     log.cidnumber = acidnumber
  74.  
  75.     return
  76.  
  77. loadLogEntry: procedure expose log.
  78.     if arg() ~= 2 then do
  79.         rc = "loadLogEntry: bad args"
  80.         signal error
  81.     end
  82.     parse arg mailbox, handle
  83.  
  84.         drop log.
  85.         log. = ''
  86.  
  87.     if ~exists(mailboxDir(mailbox)) then do
  88.         call showDebugger('Dir=' || mailboxDir(mailbox) 'does not exist')
  89.         return
  90.     end
  91.  
  92.     opened = open(handle, logFile(mailbox, handle), 'r')
  93.         if opened then do
  94.         call showDebugger('Loading entry' logFile(mailbox, handle))
  95.         do while ~eof(handle)
  96.             line = readln(handle)
  97.             parse upper var line variable '=' value
  98.             log.variable = value
  99.         end
  100.         call close(handle)
  101.     end; else call showDebugger('Could not load' logFile(mailbox, handle))
  102.     return
  103.  
  104. /* pass a handle here */
  105. saveLogEntry: procedure expose log.
  106.     if arg() ~= 2 then do
  107.         rc = "saveLogEntry: bad args"
  108.         signal error
  109.     end
  110.     parse arg mailbox, handle
  111.  
  112.     if ~exists(mailboxDir(mailbox)) then do
  113.         call showDebugger('Dir=' || mailboxDir(mailbox) 'does not exist')
  114.         return
  115.     end
  116.  
  117.     opened = open(handle, logFile(mailbox, handle), 'w')
  118.  
  119.     if opened then do
  120.         call showDebugger('Saving entry' logFile(mailbox, handle))
  121.         call writeln(handle, 'TYPE=' || log.type)
  122.         call writeln(handle, 'TIME=' || log.time)
  123.         call writeln(handle, 'LENGTH=' || log.length)
  124.  
  125.         call writeln(handle, 'ORIGMAILBOX=' || log.origmailbox)
  126.  
  127.         call writeln(handle, 'CIDNAME=' || log.cidname)
  128.         call writeln(handle, 'CIDNUMBER=' || log.cidnumber)
  129.  
  130.         call writeln(handle, 'COMMENT=' || log.comment)
  131.  
  132.         call writeln(handle, 'FILENAME=' || log.filename)
  133.         call writeln(handle, 'ALTFILENAME=' || log.altfilename)
  134.  
  135.         call writeln(handle, 'RETURNNUMBER=' || log.returnnumber)
  136.         call writeln(handle, 'RETURNSENDFUNC=' || log.returnsendfunc)
  137.         call writeln(handle, 'RETURNSTATUS=' || log.returnstatus)
  138.  
  139.         call writeln(handle, 'RETURNRETRY=' || log.returnretry)
  140.         call writeln(handle, 'RETURNINTERVAL=' || log.returninterval)
  141.  
  142.         call close(handle)
  143.         address rexx 'broadcast' 'addtomailbox' mailbox handle
  144.     end; else call showDebugger('Could not save' logFile(mailbox, handle))
  145.  
  146.     return
  147.  
  148. /* pass a handle here */
  149. updateLogEntry: procedure expose log.
  150.     if arg() ~= 2 then do
  151.         rc = "updateLogEntry: bad args"
  152.         signal error
  153.     end
  154.     parse arg mailbox, handle
  155.  
  156.     if ~exists(mailboxDir(mailbox)) then do
  157.         call showDebugger('Dir=' || mailboxDir(mailbox) 'does not exist')
  158.         return
  159.     end
  160.  
  161.     if ~exists(logFile(mailbox, handle)) then do
  162.         call showDebugger('Unable to update non-existent' logFile(mailbox, handle))
  163.         return
  164.     end
  165.     opened = open(handle, logFile(mailbox, handle), 'w')
  166.  
  167.     if opened then do
  168.         call showDebugger('Updating entry' logFile(mailbox, handle))
  169.         call writeln(handle, 'TYPE=' || log.type)
  170.         call writeln(handle, 'TIME=' || log.time)
  171.         call writeln(handle, 'LENGTH=' || log.length)
  172.  
  173.         call writeln(handle, 'ORIGMAILBOX=' || log.origmailbox)
  174.  
  175.         call writeln(handle, 'CIDNAME=' || log.cidname)
  176.         call writeln(handle, 'CIDNUMBER=' || log.cidnumber)
  177.  
  178.         call writeln(handle, 'COMMENT=' || log.comment)
  179.  
  180.         call writeln(handle, 'FILENAME=' || log.filename)
  181.         call writeln(handle, 'ALTFILENAME=' || log.altfilename)
  182.  
  183.         call writeln(handle, 'RETURNNUMBER=' || log.returnnumber)
  184.         call writeln(handle, 'RETURNSENDFUNC=' || log.returnsendfunc)
  185.         call writeln(handle, 'RETURNSTATUS=' || log.returnstatus)
  186.  
  187.         call writeln(handle, 'RETURNRETRY=' || log.returnretry)
  188.         call writeln(handle, 'RETURNINTERVAL=' || log.returninterval)
  189.  
  190.         call close(handle)
  191.         address rexx 'broadcast' 'refreshmailboxentry' mailbox handle
  192.     end; else call showDebugger('Could not update' logFile(mailbox, handle))
  193.  
  194.     return
  195.  
  196.  
  197.